/*
 * @Author: your name
 * @Date: 2021-10-16 15:23:41
 * @LastEditTime: 2021-10-16 15:47:11
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \luogu\动态规划\模板问题\P2639 Bessie's Weight Problem G\main.cpp
 */
#include<iostream>
#include<algorithm>
using namespace std;

int f[510][45010];
int ff[45010];

int main(){
    int H,N;
    cin >> H >> N;
    for(int i=1; i<=N; i++){
        int w;
        cin >> w;
        // for(int j=5; j<=H; j++){
        //     f[i][j] = f[i-1][j];
        //     if(j >= w){
        //         //可以吃 如果没有=号,那么f[w]就可能不会最大
        //         f[i][j] = max(f[i-1][j],f[i-1][j-w]+w);
        //     }
        // }
        for(int j=H; j>=w; j--){
            ff[j] = max(ff[j],ff[j-w]+w);
        }
    }
    // cout << f[N][H] << endl;
    cout << ff[H] << endl;
    return 0;
}